/**
 * Copyright (c) 2009-2016 https://github.com/zhanglongjian
 * Licensed under the Apache License, Version 2.0 (the "License");
 */
package com.ggy.dao;

import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;

import com.ggy.entity.Resources;
import com.ggy.utils.JdbcHelper;

/**
 * <p>
 * 资源实体数据访问接口
 * </p>
 * <p>
 * 
 * @createBy zhang longjian
 *           </p>
 *           <p>
 * @createTime 2017年7月28日 下午4:25:10
 *             </p>
 *             <p>
 *             TODO
 *             </p>
 */
public interface ResourcesDao {

	/**
	 * 数据库连接辅助对象
	 */
	JdbcHelper util = new JdbcHelper();
	/**
	 * 查询基本语句 
	 */
	final String BASE_SQL = "select id,createby,createtime,modifyby,modifytime,res_title,res_url,pid,res_desc from sys_res";

	/**
	 * 保存数据
	 * @param t
	 * @return
	 */
	boolean save(Resources t);

	/**
	 * 删除数据
	 * @param id
	 * @return
	 */
	boolean del(int id);

	/**
	 * 更新数据
	 * @param t
	 * @return
	 */
	boolean update(Resources t);

	/**
	 * 根据父结点获取数据
	 * @param pid
	 * @return
	 */
	List<Resources> getResourcesWithPid(int pid);

	/**
	 * 封装了实体和结果集的字段映射
	 * 
	 * @param rs
	 *            结果集
	 * @return 集合列表
	 */
	default List<Resources> getEntityWithList(ResultSet rs) {
		List<Resources> _list = new ArrayList<Resources>();
		try {
			while (rs.next()) {
				Resources t = new Resources();
				t.setCreateBy(rs.getString("createBy"));
				t.setCreateTime(rs.getString("createTime"));
				t.setDesc(rs.getString("res_desc"));
				t.setId(rs.getInt("id"));
				t.setModifyBy(rs.getString("modifyBy"));
				t.setModifyTime(rs.getString("modifyTime"));
				t.setPid(rs.getInt("pid"));
				t.setTitle(rs.getString("res_title"));
				t.setUrl(rs.getString("res_url"));
				_list.add(t);
			}
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} finally {
			util.relese();
		}
		return _list;
	}
}
